package com.googlecode.jasmincc.framework;

import com.googlecode.simplexer.*;

public interface Production {
	/* ObjectCC reserved keywords start here */

	public static final String KW_NAMESPACE = "namespace";

	public static final String KW_CARRIES = "carries";

	public static final String KW_GRAMMAR = "grammar";

	public static final String KW_DIALECTOF = "dialectof";

	public static final String KW_TEMPLATED = "templated";

	/* JavaCC reserved keywords start here */

	public static final String JAVACC_TOKEN = "TOKEN";

	/* TODO case senstive ? */
	public static final String JAVACC_OPTIONS = "OPTIONS";

	public static final String JAVACC_SKIP = "SKIP";

	public static final String JAVACC_MORE = "MORE";

	public static final String JAVACC_SPECIAL_TOKEN = "SPECIAL_TOKEN";

	public static final String JAVACC_TOKEN_MGR_DECLS = "TOKEN_MGR_DECLS";

	public static final String JAVACC_PARSER_BEGIN = "PARSER_BEGIN";

	public static final String JAVACC_PARSER_END = "PARSER_END";

	public void setLexer(MappedLexer lexer);

	public void parse() throws Exception;
}
